<!DOCTYPE html>
<html lang="en">

<head>
	<meta charset="UTF-8">
	<meta name="viewport" content="width=device-width, initial-scale=1.0">
	<title>线上笔试答题系统</title>
	<link rel="stylesheet" href="./styles/css/common.css">
	<link rel="stylesheet" href="./styles/css/index.css">
</head>

<body class="choice">
	<script src="http://rsj.beijing.gov.cn/images/rsj_header.js"></script>
	<include src="./include/header.html"></include>
	<div class="wrap">
		<div class="clearfix" id="nav_wrap">
			<script type="text/html" id="nav_tem">
				<%if(data.executeResult == 1){%>
				<!-- 答题信息 -->
				<% var _Data = data.dtxx%>
				<!-- 题目信息 -->
				<% var _data = data.tmxx%>
				<div class="com-nav">
					<div class="choice-nav">
						<i class="J_goback">
							<img src="./styles/images/fanhui.png" alt=""></i>
						<p class="job"><%=_Data.gwwdmc%></p>
						<p class="jjt">进阶题</p>
						<div class="timeout">
							<span class="left">计时器</span>
							<!-- 倒计时 -->
							<b class="right"></b>
						</div>
					</div>
				</div>

				<%if(_data.length>0){%>
				<!-- 内容区域 -->
				<div class="subject-wrap">
					<div class="subject-con">
						<!-- 题目说明 -->
						<p class="subject-explain">
							<!-- <%=_Data.zdy%> -->
							<%=#_Data.zdy,true%>
						</p>
						<!-- 题目内容 -->
						<!-- 单纯的选择题 -->
						<%for(var i=0;i<_data.length;i++){%>
						<% var _item = _data[i]%>
						<div class="subject-item clearfix" num="<%=i%>" tmbh="<%=_item.tmbh%>" tmjb="<%=_item.tmjb%>"
							tb="<%=_item.tb%>">
							<!-- 题目序号 -->
							<%if(i>=10){%>
							<i class="th left">（0<%=i+1%>）</i>
							<%}else{%>
							<i class="th left">（<%=i+1%>）</i>
							<%}%>
							<div class="item left" style="width:778px;">
								<p class="tm" dqys="<%=_item.dqys%>"><%=#_item.tmmc,true%></p>
							<!-- 如果有图片推理则显示 -->
							<%if(_item.tpurl){%>
							<div class="tmImg">
								<img src="<%=_item.tpurl%>" alt="">
							</div>
							<%}%>
							<!-- 如果有二级题目则显示 -->
							<%if(_item.ejtm){%>
							<p class="tm"><%=_item.ejtm%></p>
							<%}%>
								<!-- 单个选项样式 -->
								<% var _arr = _data[i].xxxx%>
							<div class="dxCon dxNum">
								<%for(var j=0;j<_arr.length;j++){%>
								<% var _tem = _arr[j]%>
								<!-- 判断的是上一题回显的时候 如果有选择结果 则回显不能再次选择 -->
								<%if(_Data.sfxt=='1'){%>
								<%if(_item.xzjg==_tem.dabh){%>

								<!-- 选择结果==答题编号 -->
								<div <%if(_item.xzjg==_tem.dabh){%> class="dxItem J_dxItem dxActive" <%} else {%> class="dxItem"
									<%}%> xzjg="<%=_tem.dabh%>" sfzqda="<%=_tem.sfzqda%>">
									<span><%=_tem.dabh%></span>
									<p><%=_tem.danr%></p>
								</div>
								<%}else{%>
								<div class="dxItem J_dxItem" xzjg="<%=_tem.dabh%>" sfzqda="<%=_tem.sfzqda%>">
									<span><%=_tem.dabh%></span>
									<p><%=_tem.danr%></p>
								</div>
								<%}%>

								<%}else{%>

								<!-- 选择结果==答题编号 -->
								<div <%if(_item.xzjg==_tem.dabh){%> class="dxItem dxActive" <%} else {%> class="dxItem"
									<%}%> xzjg="<%=_tem.dabh%>" sfzqda="<%=_tem.sfzqda%>">
									<span><%=_tem.dabh%></span>
									<p><%=_tem.danr%></p>
								</div>

								<%}%>


								<%}%>
							</div>
						</div>
					</div>
					<%}%>
							</div>
						</div>
						<div class="subject-btn">
							<span class="back J_cancel">上一题</span>
							<span class="tj J_save">下一题</span>
						</div>
						<%}%>
					<%}%>

			</script>
		</div>
	</div>

	<script src="http://rsj.beijing.gov.cn/footer.js"></script>
</body>

<script src="./common/vendor.js"></script>
<script src="./common/common.js"></script>

<script>							
	$(function () {
		var Load = new $.Loading();
		var gwwd = $.paramObj() && $.paramObj().gwwd; //岗位维度
		var cqpcbh = $.paramObj() && $.paramObj().cqpcbh; //抽取批次编号
		var tmcxfs = $.paramObj() && $.paramObj().tmcxfs; // 0：点击开始答题，1：点击上一步，2：点击下一步
		var dqys = $.paramObj() && $.paramObj().dqys; // 当前页数
		var zxwdjb = $.paramObj() && $.paramObj().zxwdjb; //自选维度级别
		var gwwhid = $.paramObj() && $.paramObj().gwwhid; // 岗位维护id
		var Newcqpcbh = ""; // 新的抽取批次编号 用来保存回传
		var currentTime = ""; //当前时间
		var sfxt = ""; //是否为新题
		var newdqys = ""; //进来查询 当前时间
		var timeInterval = ""; // 计时器
		var sfzhyt = ""; // 是不是最后一题
		var Bc_Obj = {}; //  存题的数组
		var NewBc_Arr = []; // 选择题目类型保存
		var sfzhyy = ""; // 是否最后一页
		// 查询个人答题
		getInfo("", gwwd, cqpcbh, tmcxfs, dqys, zxwdjb, gwwhid, '');

		function getInfo(ywcz, gwwd, cqpcbh, tmcxfs, dqys, zxwdjb, gwwhid, sysj) {
			Load.on()
			$.asyncRender({
				url: '/zxwmsgj/tmxxCx',
				type: 'get',
				wrap: '#nav_wrap',
				tem: '#nav_tem',
				pos: 'returnData',
				data: {
					ywcz: ywcz,
					gwwd: gwwd,
					cqpcbh: cqpcbh,
					tmcxfs: tmcxfs,
					dqys: dqys,
					zxwdjb: zxwdjb,
					gwwhid: gwwhid,
					sysj: sysj,
				}
			}).done(function (res) {
				var res = res.returnData;
				if (res.executeResult == 1) {
					Load.off();
					Newcqpcbh = res.dtxx.cqpcbh; //新的批次编号
					// 判断是否已完成答题 为1跳转到index
					sfzhyt = res.dtxx.ywcdt; // 是否为最后一题
					sfzhyy = res.dtxx.sfzhyy
					if (res.dtxx.ywcdt == "1") {
						$(".J_save").html("提交")
					}
					if (res.dtxx.sfzhyy == "1") {
						$(".J_save").html("提交")
					}

					newdqys = res.dtxx.dqys; // 当前页数
					currentTime = res.dtxx.sysj; //剩余时间
					sfxt = res.dtxx.sfxt;
					if (res.dtxx.sfxt == '1') {
						$(".timeout").show(); // 显示时间

						timeCount(); // 时间开始走
					} else {
						$(".timeout").hide(); // 倒计时消失
					}
					// 判断有没有上一题
					if (res.dtxx.sfdyy == 1) {
						$(".J_cancel").hide();
					} else {
						$(".J_cancel").show(); //显示上一题

					}
					// NewBc_Arr = [];
				} else {
					$.layerMsg(res.message, '我知道了');
				}
			})
		}
		template.helper('render_br', function (str, flag) {
			if (flag) {
				var _str = str.replace(/<br>/g, '<br>');
			}
			return _str
		});
		// 单选
		$(document).on('click', '.subject-item .dxCon .J_dxItem', function () {
			var index = $(this).parents('.subject-item').index();
			if (!$(this).hasClass('dxActive')) {
				$(this).addClass('dxActive').siblings('.dxItem').removeClass('dxActive');
			}
		});

		// 提交  下一题
		$(document).on('click', '.J_save', function () {
			var index = $(this).parents('.subject-item').index();
			// 获取所有答案dxNum  moreDxNum
			var dxAll = $('.dxCon').length;
			// var moreDxAll = $('.moreDxNum').length;
			var activeAll = $('.dxActive').length;
			if (sfxt == "1") {
				if (activeAll != dxAll) {
					$.layerMsg('还有答案未选择，请继续填写！', '我知道了', function () {})
				} else {
					NewBc_Arr = [];
					var _data = $(".subject-item");
					var index = _data.index()
					_data.each(function (k, v) {
						var obj = {
							sfzqda: moreDxAnswer1($(this)), // 正确答案;
							xzjg: moreDxAnswer($(this)), // 选择结果
							tmbh: $(this).attr("tmbh"), //题目编号 
							tmjb: $(this).attr("tmjb"), //题目级别
							tb: $(this).attr("tb") //图表
						}
						NewBc_Arr.push(obj)
					})
					if (sfzhyy == '1') {
						$.layerMsg("确认提交?",
							[{
								text: '确认',
								cb: function () {
									NextOrPrev(3, Newcqpcbh, gwwd, zxwdjb, newdqys, NewBc_Arr, gwwhid, '', sfxt,
										2) // 下一题参数 业务操作=3,抽取批次编号,岗位维度,自选难度级别,当前页数+1,题目选择结果数组 由Bc_Obj添加
									NewBc_Arr = [];
								}
							}, {
								text: '取消',
								cb: function () {
									return false
								}
							}])
					} else {

						NextOrPrev(3, Newcqpcbh, gwwd, zxwdjb, newdqys, NewBc_Arr, gwwhid, '', sfxt,
							2) // 下一题参数 业务操作=3,抽取批次编号,岗位维度,自选难度级别,当前页数+1,题目选择结果数组 由Bc_Obj添加
						NewBc_Arr = [];
					}
				}
			} else {
				NextOrPrev(3, Newcqpcbh, gwwd, zxwdjb, newdqys, [], gwwhid, sessionStorage.getItem("time"), sfxt,
					2) // 下一题参数 业务操作=3,抽取批次编号,岗位维度,自选难度级别,当前页数+1,题目选择结果数组 由Bc_Obj添加
				NewBc_Arr = [];
			}
		})
		// 上一题
		$(document).on('click', '.J_cancel', function () {
			clearInterval(timeInterval);

			if (sfxt == "1") {
				NewBc_Arr = [];
				var _data = $(".subject-item");
				var index = _data.index()
				_data.each(function (k, v) {
					var obj = {
						sfzqda: moreDxAnswer1($(this)), // 正确答案;
						xzjg: moreDxAnswer($(this)), // 选择结果
						tmbh: $(this).attr("tmbh"), //题目编号 
						tmjb: $(this).attr("tmjb"), //题目级别
						tb: $(this).attr("tb") //图表
					}
					NewBc_Arr.push(obj)
				})
				$.fetch({
					url: "/zxwmsgj/tmxxBc",
					type: "post",
					data: {
						ywcz: 2, // 必填 0: 时间到了 1： 页面退出 2： 上一步 3： 提交 （下一步） 4：刷新
						cqpcbh: Newcqpcbh, //  选填 抽取批次编号
						gwwd: gwwd, // 必填 岗位维度
						zxwdjb: zxwdjb, // 选填 自选维度级别
						dqys: parseInt(newdqys) - 1, // 选填 当前页数
						tmxzjg: NewBc_Arr, // 选填 题目选择结果（ 对象数组tmbh、 tmjb、 xzjg、 sfzqda、 tb）
						gwwhid: gwwhid,
						sysj: sessionStorage.getItem("time"),
						sfxt: sfxt,
						tmcxfs: 1, // 选填 0： 点击开始答题， 1： 点击上一步， 2： 点击下一步
					}
				}).done(function (res) {

					getInfo("", gwwd, Newcqpcbh, 1, parseInt(newdqys) - 1, zxwdjb, gwwhid, sessionStorage.getItem(
						"time"));
				})
			} else {
				getInfo("", gwwd, Newcqpcbh, 1, parseInt(newdqys) - 1, zxwdjb, gwwhid, sessionStorage.getItem("time"));
			}

		})
		//  下一题一级提交的判断
		function NextOrPrev(ywcz, cqpcbh, gwwd, zxwdjb, dqys, tmxzjg, gwwhid, sysj, sfxt, tmcxfs) {
			Load.on();
			$.fetch({
				url: "/zxwmsgj/tmxxBc",
				type: "post",
				data: {
					ywcz: ywcz, // 必填 0: 时间到了 1： 页面退出 2： 下一步 3： 提交
					cqpcbh: cqpcbh, //  选填 抽取批次编号
					gwwd: gwwd, // 必填 岗位维度
					zxwdjb: zxwdjb, // 选填 自选维度级别
					dqys: dqys, // 选填 当前页数
					tmxzjg: tmxzjg, // 选填 题目选择结果（ 对象数组tmbh、 tmjb、 xzjg、 sfzqda、 tb）

					gwwhid: gwwhid,
					sysj: sysj,
					sfxt: sfxt,
					tmcxfs: tmcxfs, // 选填 0： 点击开始答题， 1： 点击上一步， 2： 点击下一步
				}
			}).done(function (res) {
				var _res = res.returnData;
				if (_res.executeResult === '1') {
					Load.off();
					// 保存成功继续查询下一题 查询后台返回的值
					// 查询个人答题
					if (_res.sfytj == "1") {
						clearInterval(timeInterval);
						$(window).off('beforeunload');
						alert("您已答完题！");
						sessionStorage.removeItem("time");
						window.location.href = './dimension.html?gwwhid=' + _res.gwwhid;
					}
					NewBc_Arr = [];
					if (_res.ywzw == "0" || _res.ywcz == "1") {
						return false;
					} else {
						// 查询个人答题
						getInfo("", _res.gwwd, _res.cqpcbh, _res.tmcxfs, _res.dqys, _res.zxwdjb, _res.gwwhid, '');
						// 每次答完下一题的时候 回到顶部
						$('body,html').animate({
							scrollTop: 0
						}, 1);
						return false;
					}
				} else {
					$.layerMsg(_res.returnData, "确定")
				}
			})
		}
		// 时间到了
		function timeCount() {
			//获取对应的答题时间
			clearInterval(timeInterval);
			timeInterval = setInterval(function () {
				currentTime -= 1;
				sessionStorage.setItem("time", currentTime);
				var second = Math.floor(currentTime % 60); // 计算秒     
				var minite = Math.floor((currentTime / 60) % 60); //计算分 
				$('.right').text($.fixTimeZero(minite) + ':' + $.fixTimeZero(second));
				if (currentTime === 0) { //如果答题时间为0
					clearInterval(timeInterval); //清除定时器
					NewBc_Arr = [];
					var _data = $(".subject-item");
					var index = _data.index()
					_data.each(function (k, v) {
						var obj = {
							sfzqda: moreDxAnswer1($(this)), // 正确答案;
							xzjg: moreDxAnswer($(this)), // 选择结果
							tmbh: $(this).attr("tmbh"), //题目编号 
							tmjb: $(this).attr("tmjb"), //题目级别
							tb: $(this).attr("tb") //图表
						}
						NewBc_Arr.push(obj)
					})
					// 时间到了应该直接触发下一题保存 无论是否答完题 没答按错误处理
					NextOrPrev('0', Newcqpcbh, gwwd, zxwdjb, newdqys, NewBc_Arr, gwwhid, '', sfxt, 2);
				}
			}, 1000);
		}
		//    和保存下一题类似的方法  目的是为了回调

		function postSaveStatus(ywcz, cqpcbh, gwwd, zxwdjb, dqys, tmxzjg, gwwhid, sysj, xfxt, tmcxfs) {
			var deferred = new $.Deferred();
			Load.on();
			$.fetch({
				type: 'post',
				url: '/zxwmsgj/tmxxBc',
				data: {
					ywcz: ywcz, // 必填 0: 时间到了 1： 页面退出 2： 下一步 3： 提交
					cqpcbh: cqpcbh, //  选填 抽取批次编号
					gwwd: gwwd, // 必填 岗位维度
					zxwdjb: zxwdjb, // 选填 自选维度级别
					dqys: dqys, // 选填 当前页数
					tmxzjg: tmxzjg, // 选填 题目选择结果（ 对象数组tmbh、 tmjb、 xzjg、 sfzqda、 tb）
					tmcxfs: tmcxfs, // 选填 0： 点击开始答题， 1： 点击上一步， 2： 点击下一步
					gwwhid: gwwhid,
					sysj: sysj,
					xfxt: xfxt,
					tmcxfs: tmcxfs
				},
			}).always(function () {
				Load.off();
			}).done(function (response) {
				var result = response.returnData;
				if (parseInt(result.executeResult, 10) === 1) {
					getInfo("", result.gwwd, result.cqpcbh, result.tmcxfs, result.dqys, result.zxwdjb, result.gwwhid,
						result.sysj);
					deferred.resolve();
					Load.off();
				} else {
					deferred.reject();
				}
			}).fail(function (e) {
				deferred.reject();
			});
			return deferred.promise();
		}

		function moreDxAnswer(ele) {
			var eleXx = $(ele).find('.dxActive');
			var _str = '';
			eleXx.each(function (index, ele) {
				if (index == eleXx.length - 1) {
					_str += $(ele).attr('xzjg')
				}
			})
			return _str;
		}

		function moreDxAnswer1(ele) {
			var eleXx = $(ele).find('.dxActive');
			var _str = '';
			eleXx.each(function (index, ele) {
				if (index == eleXx.length - 1) {
					_str += $(ele).attr('sfzqda')
				}
			})
			return _str;
		}
		// 浏览器关闭刷新事件处理
		$(window).on('beforeunload', function (e) {
			if (sfxt == '1') {
				NewBc_Arr = [];
				var _data = $(".subject-item");
				var index = _data.index()
				_data.each(function (k, v) {
					var obj = {
						sfzqda: moreDxAnswer1($(this)), // 正确答案;
						xzjg: moreDxAnswer($(this)), // 选择结果
						tmbh: $(this).attr("tmbh"), //题目编号 
						tmjb: $(this).attr("tmjb"), //题目级别
						tb: $(this).attr("tb") //图表
					}
					NewBc_Arr.push(obj)
				})
				postSaveStatus("4", Newcqpcbh, gwwd, zxwdjb, newdqys, NewBc_Arr, gwwhid, currentTime, sfxt, tmcxfs);
			} else {
				getInfo("", gwwd, Newcqpcbh, 1, parseInt(newdqys), zxwdjb, gwwhid, '');
			}
			// postSaveStatus("4", Newcqpcbh, gwwd, zxwdjb, newdqys, [],  gwwhid, currentTime, sfxt, tmcxfs);
			// // 返回上一级
			return '所有维度在三个月内个人只能答一次，且答题时间为一小时，超过一小时则不能继续答题，是否同意？'
		})



	});

</script>


</html>
